#pragma once
#include<graphics.h>
#include<vector>
struct Point
{
	int row;
	int col;
};
class Block
{
public:
	Block();
	void drop();
	void moveLeftRight(int offset);
	void rotate();
	void draw(int leftMargin, int rightMargin);
	static IMAGE** getImages();
	Block& operator=(const Block& other);
	bool blockInMap(const vector<vector<int>>& map);
	void solidify(vector<vector<int>>& map);
	int getBlockType();
private:
	Point smallBlocks[4];
	int blockType;
	IMAGE* img;
	static IMAGE* imgs[7];
	static int size;
};

